/**
 * @Author: 健聪
 * @Description:匿名方法
 * @Date:2024/1/12
 */
void main() {
  // 不带参数的匿名方法
  var func = () {
    print("Hello");
  };
  func();
  // 带参数的匿名方法
  var func1 = (str) {
    print("Hello $str");
  };
  func1("张三");
  // 没有具体名字的匿名方法 不推荐
  ((){
    print("Test");
  })();
  // 匿名方法出入方法体里面
  var list2 = ["h", "e", "l", "l", "o"];
  // var result = listTimes(list2, (str){ return str * 3; });
  // print(result);
  print(listTimes2(list2));
}

List listTimes(List list, String times(str)) {
  for (var index = 0; index < list.length; index++) {
    list[index] = times(list[index]);
  }
  return list;
}
// 匿名方法写在方法里面，当成变量来使用
List listTimes2(List list) {
  var func = (str ) { return str * 3;};
  for (var index = 0; index < list.length; index++) {
    list[index] = func(list[index]);
  }
  return list;
}